This invention relates generally to multi-channel data transfer between, on one hand, a bulk storage media requiring unequal time to access blocks of data, such as a magnetic disk system read by one or more heads moved across the disk surface, and, on the other hand, a source/consumer of data or an intermediate buffer memory therefore.
Currently, the predominent technique for recording multi-channel digital data on a magnetic disk is to interleave data of the various channels in sequence. The most common type of currently available disk recording system uses a single read/write head for each rotating magnetic recording surface, and most multi-disk, multi-head systems still only allow one head to be operable for reading or writing at a time. Thus, data from the several channels is effectively formed into a single serial stream which is then written onto the disk and later read therefrom to recover the serial stream and thus reconstruct the multiple channel data.
Such a system is quite satisfactory for simple writing and reading of data but is quite awkward if editing is desired to be done on the recorded digital data. It is difficult to access the data of one channel independently of the others. It is practically impossible to time shift the data of one channel with respect to that of another. Such independence and time shifting is particularly desireable in editing multi-channel digital sound data in many applications such as in constructing a multi-channel movie sound track from various data files.
Therefore, it is a primary object of the present invention to provide a technique for writing to disk and reading therefrom digital data of two or more channels (films) that allows independent editing of each channel while at the same time maintaining a high degree of efficiency of transferring data onto and off of the disk.
It is another object of the present invention to provide a high degree of transfer efficiency with a limited size of buffer memory and with the ability to read and/or write digital data onto the disk in real time.